package com.neu.flashmall.ms.utils;

import com.neu.common.constant.RedisRegion;

public class ManageSystemRedisKeyUtil {
    public static final String SYS_USER_ID = "sysUserId:";

    /**
     * value是所有的SysMenu的List
     */
    public static final String ALL_SYS_MENU_LIST = "allSysMenuList";

    /**
     * value是一个map
     * map的key是menu的url
     * map的value是该url对应的menu的id
     */
    public static final String MENU_URL_TO_ID_MAP = "sysMenuUrlToIdMap";

    /**
     * value是一个map
     *  map的key是role的id
     *  map的value是一个集合，里面是该role所拥有的menu的id
     */
    public static final String ROLE_TO_MENU_ID_SET_MAP = "roleToMenuIdSetMap";

    /**
     * 这是key的前缀
     * value是一个List里面存着该role的所拥有的menu的id
     */
    public static final String ROLE_TO_MENU_ID_LIST = "roleToMenuIdList:";


    public static String generateKey(String key){
        return RedisRegion.FLASH_MALL_MANAGE_SYSTEM_REGION + "::" + key;
    }

    /**
     * 生成redis的key
     * key是sysUserId：id
     * value主要是是该id对应的sysUser对象
     * @param key
     * @return
     */
    public static String generateSysUserIdKey(String key){
        return SYS_USER_ID + key;
    }

    public static String generateRoleToMenuIdListKey(String key){
        return ROLE_TO_MENU_ID_LIST + key;
    }
}
